Over the years, numerous techniques have been proposed to improve the energy efficiency of mobile devices. One technique is referred to as dynamic voltage and frequency scaling (DVFS). Such circuit-level technique regulates power consumption by dynamically adjusting a voltage and/or frequency of a device. Driver-level software modules known as governors may, for example, monitor circuit-level factors such as processor load, and switch to a certain frequency and/or voltage when such load exceeds a threshold.
However, techniques, such as DVFS, are general-purpose system techniques that are based on a low-level indication of system state such as processor utilization. To this end, they are agnostic to application-level usage scenarios. Consequently, such techniques produce inferior results when running different applications. Thus, to date, there is no indication of application state information between an application and an underlying power management mechanism, resulting, at best, in less effective software control of techniques such as DVFS.